package com.ls.fw.data.search.impl.dao.test.data;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.solr.core.query.result.FacetPage;
import org.springframework.data.solr.example.model.Product;

import com.ls.fw.data.search.impl.dao.data.SolrDataDao;

@NoRepositoryBean
public interface ProductDaoCustom extends SolrDataDao<Product, String> {

	Page<Product> findProductsByCustomImplementation(String value, Pageable page);

	Page<Product> findByPopularity(Integer popularity);

	FacetPage<Product> findByNameStartingWithAndFacetOnAvailable(
			String namePrefix);

	Page<Product> findByAvailableTrue();

	void updateProductCategory(String productId, List<String> categories);

}